#ifndef __2865031_SINGLEGAUSSIANDISTRIBUTION_H__
#define __2865031_SINGLEGAUSSIANDISTRIBUTION_H__

#include <iostream>
using namespace std;
#include "processor.h"

class SingleGaussianDistribution : public Processor
{
    protected:

        IplImage * background;
        IplImage * var;
        IplImage * tmp;
        IplImage * res;
        IplImage * res1;
        IplImage * res2;

        bool selectivity;

        double threshold;
        double alpha;

    public:

        SingleGaussianDistribution();
        ~SingleGaussianDistribution();
        SingleGaussianDistribution(const SingleGaussianDistribution &);
        SingleGaussianDistribution& operator=(const SingleGaussianDistribution &);

        SingleGaussianDistribution(const bool &);

        virtual IplImage * init  (IplImage *);
        virtual IplImage * update(IplImage *);

};

#endif
